#include "myhead.h"
//自定义一个结构体存放要发送的内容
struct mymsg
{
	long msgtype;  //消息类型
	char msg[50];  //真实的信息
};
int main()
{
	int msgid;
	struct mymsg rmsg;
	struct mymsg smsg;
	//申请消息队列
	msgid=msgget(98787,IPC_CREAT|IPC_EXCL|0777);
	if(msgid==-1)
	{
		if(errno==EEXIST)
			msgid=msgget(98787,0777);
		else
		{
			perror("申请");
			return -1;
		}
	}
	//循环接收信息
	while(1)
	{
		bzero(&rmsg,sizeof(rmsg));
		bzero(&smsg,sizeof(smsg));
		msgrcv(msgid,&rmsg,sizeof(rmsg),888,0);
		printf("p1发给我信息是:%s\n",rmsg.msg);
		//回复信息给p1
		printf("请输入要回复给p1的信息!\n");
		scanf("%s",smsg.msg);
		smsg.msgtype=666;
		msgsnd(msgid,&smsg,sizeof(smsg),0);
	}
	
	//删除消息队列
	msgctl(msgid,IPC_RMID,NULL);
}